From: Stefan Monnier Date: Sun, 2 Jan 2022 07:25:55 +0000 (-0500) Subject: (define-char-code-property): Workaround for bug#52945 X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~18^2~151 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9156e109270b837b0b4f5740c305531754e72cf6;p=emacs.git (define-char-code-property): Workaround for bug#52945 * lisp/international/mule-cmds.el (define-char-code-property): Ignore requests to re-setup lazy loading after the char-table is already loaded. --- diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 7fd1430c03b..28be35d65d2 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -2936,8 +2936,14 @@ See also the documentation of `get-char-code-property' and (or (stringp table) (error "Not a char-table nor a file name: %s" table))) (if (stringp table) (setq table (purecopy table))) - (setf (alist-get name char-code-property-alist) table) - (put name 'char-code-property-documentation (purecopy docstring))) + (if (and (stringp table) + (char-table-p (alist-get name char-code-property-alist))) + ;; The table is already setup and we're apparently trying to + ;; undo that, probably because `charprop.el' is being re-loaded. + ;; Just skip it, in order to work around a recursive load (bug#52945). + nil + (setf (alist-get name char-code-property-alist) table) + (put name 'char-code-property-documentation (purecopy docstring)))) (defvar char-code-property-table (make-char-table 'char-code-property-table)